.\" Redistribution and use in source and binary forms, with
.\" or without modification, are permitted provided that the
.\" following conditions are met:
.\" 
.\" 1. Redistributions of source code must retain this list
.\"    of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce this
.\"    list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the
.\"    distribution.
.\" 
.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
.\" CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
.\" WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
.\" PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
.\" COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
.\" PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
.\" SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
.\" DAMAGE.
.Dd March 13, 2011
.Dt THANM 1
.Os GensokyOS
.Sh NAME
.Nm thanm
.Nd Touhou sprite archive tool
.Sh SYNOPSIS
.Nm Ar command Ns Oo option Oc Op Ar archive Op Ar ...
.Sh DESCRIPTION
The
.Nm
utility performs various actions on sprite archives.
The following commands are available:
.\" TODO: List commands and write descriptions.
.Bl -tag -width Ds
.It Ar l Ns Oo f Oc Ar archive
Displays a specification of the archive.
.It Ar x Ns Oo f Oc Ar archive Op Ar
Extracts image files.
If no files are specified, all files are extracted.
.It Ar r Ns Oo f Oc Ar archive Ar name Ar file
Replaces an entry in the archive.
The name can be obtained by the
.Ar l
command.
.It Ar c Ns Oo f Oc Ar archive Ar input
Creates a new archive from a specification obtained by the
.Ar l
command.
It will look for referenced image files in the current directory.
.It Ar V
Displays the program version.
.El
.Pp
These options are accepted:
.Bl -tag -width Ds
.It Ar f
The
.Ar f
option can be used to ignore certain errors.
.El
.Sh EXIT STATUS
The
.Nm
utility exits with 0 on success, 1 on error.
.\" TODO: .Sh EXAMPLES
.Sh SEE ALSO
.Lk http://code.google.com/p/thtk "Project homepage"
.Sh BUGS
A few files from TH12 and TH13 contain overlapping entries with different formats.
Dumping and recreating these archives will not result in the same archives.
The affected pixels seem to all have 0 for alpha though.
.Pp
One of the scripts in TH95's front.anm lack a sentinel instruction.
Dumping and recreating this archive will add a sentinel instruction.
.Sh SECURITY CONSIDERATIONS
File names may not be properly sanitized when extracting.
Furthermode, invalid data may not be properly handled.
Do not operate on untrusted files.
